package cn.estore.entity;


/* @Author: 顾建宇
 * @Date: 2024/12/16 22:29
 * course
 */


import java.util.Date;

public class Order {
    // 订单表的唯一标识符，对应数据库中order表的id字段，自增的整数类型
    private int id;
    // 下单用户的唯一标识符，关联到用户表中的用户id，用于追溯该订单所属用户
    private int userId;
    // 所购买商品的唯一标识符，关联商品表中的商品id，明确订单涉及的具体商品
    private int productId;
    // 订单编号，具有唯一性的字符串，用于标识和查询特定订单
    private String orderNumber;
    // 订单创建的时间，记录订单生成的具体日期和时间点
    private Date createTime;
    // 购买商品的数量，明确本次订单中购买该商品的具体数量
    private int productQuantity;
    // 商品此次购买的实际单价，考虑各种优惠、折扣等因素后的实际成交单价
    private double actualPrice;
    // 订单的总金额，通过商品的实际单价乘以购买数量计算得出，反映订单总体消费金额
    private double totalAmount;

    // 以下是各个属性对应的get和set方法

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getUserId() {
        return userId;
    }

    public void setUserId(int userId) {
        this.userId = userId;
    }

    public int getProductId() {
        return productId;
    }

    public void setProductId(int productId) {
        this.productId = productId;
    }

    public String getOrderNumber() {
        return orderNumber;
    }

    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public int getProductQuantity() {
        return productQuantity;
    }

    public void setProductQuantity(int productQuantity) {
        this.productQuantity = productQuantity;
    }

    public double getActualPrice() {
        return actualPrice;
    }

    public void setActualPrice(double actualPrice) {
        this.actualPrice = actualPrice;
    }

    public double getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(double totalAmount) {
        this.totalAmount = totalAmount;
    }

    // 重写toString方法，方便在调试等场景下查看订单对象的具体信息
    @Override
    public String toString() {
        return "Order{" +
                "id=" + id +
                ", userId=" + userId +
                ", productId=" + productId +
                ", orderNumber='" + orderNumber + '\'' +
                ", createTime=" + createTime +
                ", productQuantity=" + productQuantity +
                ", actualPrice=" + actualPrice +
                ", totalAmount=" + totalAmount +
                '}';
    }
}
